<!-- $Id: topic_edit.htm 16992 2010-01-19 08:45:49Z wangleisvn $ -->



{include file="pageheader.htm"}
{insert_scripts files="../data/static/js/utils.js,./js/selectzone.js,./js/colorselector_topic.js"}

<script type="text/javascript" src="../data/static/js/calendar.php?lang={$cfg_lang}"></script>

<link href="../data/static/js/calendar/calendar.css" rel="stylesheet" type="text/css" />

{if $warning}

<ul style="padding:0; margin: 0; list-style-type:none; color: #CC0000;">

  <li style="border: 1px solid #CC0000; background: #FFFFCC; padding: 10px; margin-bottom: 5px;" >{$warning}</li>

</ul>

{/if}

<!-- start goods form -->

<div class="tab-div">

  <!-- tab bar -->

  <div id="tabbar-div">

    <p> <span class="tab-front" id="general-tab">{$lang.tab_general}</span> <span class="tab-back" id="goods-tab">{$lang.tab_goods}</span> <span class="tab-back" id="desc-tab">{$lang.tab_desc}</span><span class="tab-back" id="advanced-tab">{$lang.tab_advanced}</span> </p>

  </div>

  <!-- tab body -->

  <div id="tabbody-div">

    <form action="topic.php" method="post" name="theForm" enctype="multipart/form-data">

      <table cellspacing="1"  id="general-table" cellpadding="3" width="100%">

        <tr>

          <td class="label">{$lang.topic_title}</td>

          <td><input name="topic_name" type="text" value="{$topic.title}" size="40" /></td>

        </tr>

        <tr>

          <td class="label">{$lang.lable_topic_keywords}</td>

          <td><textarea name="keywords" id="keywords" cols="40" rows="3">{$topic.keywords}</textarea></td>

        </tr>

        <tr>

          <td class="label">{$lang.lable_topic_description}</td>

          <td><textarea name="description" id="description" cols="40" rows="5">{$topic.description}</textarea></td>

        </tr>

        <tr>

          <td class="label">{$lang.lable_topic_type}</td>

          <td><select name="topic_type" id="topic_type" onchange="showMedia(this.value)">

       <option value='0'>{$lang.top_img}</option>

       <option value='1'>{$lang.top_flash}</option>

       <option value='2'>{$lang.top_html}</option>

       </select></td>

        </tr>

        <tbody id="content_01">

          <tr>

            <td  class="label">

              <a href="javascript:showNotice('title_upload');" title="{$lang.form_notice}">

              <img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a>{$lang.lable_upload}</td>

            <td>

              <input type='file' name='topic_img' id='topic_img' size='35' />

              <br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="title_upload">{$width_height}</span></td>

          </tr>

          <tr>

            <td class="label">{$lang.lable_from_web}</td>

            <td><input type="text" name="url" id="url" value="" size="35" /></td>

          </tr>

        </tbody>

        

        <tbody id="edit_img">

          <tr>

            <td class="label">&nbsp;</td>

            <td><input type="text" name="img_url" id="img_url" value="{$topic.topic_img}" size="35" readonly="readonly"/></td>

          </tr>

        </tbody>



        <tbody id="content_23">

          <tr>

            <td class="label">{$lang.lable_content}</td>

            <td><textarea name="htmls" id="htmls" cols="50" rows="7">{$topic.htmls}</textarea></td>

          </tr>

        </tbody>

        

        <tr>

          <td  class="label"><a href="javascript:showNotice('title_pic_upload');" title="{$lang.form_notice}">

              <img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a>{$lang.lable_title_upload}</td>

          <td><input type='file' name='title_pic' id='title_pic' size='35' />

          <br /><span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="title_pic_upload">{$title_width_height}</span></td>

        </tr>

        <tr>

          <td class="label">{$lang.lable_from_web}</td>

          <td><input type="text" name="title_url" id="title_url" value="" size="35" /></td>

        </tr>



        <tbody id="edit_title_img">

          <tr>

            <td class="label">&nbsp;</td>

            <td><input type="text" name="title_img_url" id="title_img_url" value="{$topic.title_pic}" size="35" readonly="readonly"/></td>

          </tr>

        </tbody>



        <tr>

          <td class="label">{$lang.lable_base_style}</td>

          <td><input type="text" name="base_style" id="base_style" value="{$topic.base_style}" size="7" maxlength="6" style="float:left;color:{$goods_name_color};" size="30"/><div style="background-color:#{$topic.base_style};float:left;margin-left:2px;" id="font_color" onclick="ColorSelecter.Show(this);"><img src="images/color_selecter.gif" style="margin-top:-1px;" /></div></td>

        </tr>



        <tr>

          <td class="label">{$lang.cycle}</td>

          <td><input name="start_time" type="text" id="start_time" size="12" value='{$topic.start_time}' readonly="readonly" />

            <input name="selbtn1" type="button" id="selbtn1" onclick="return showCalendar('start_time', '%Y-%m-%d', false, false, 'selbtn1');" value="{$lang.btn_select}" class="button"/>

            -

            <input name="end_time" type="text" id="end_time" size="12" value='{$topic.end_time}' readonly="readonly" />

            <input name="selbtn2" type="button" id="selbtn2" onclick="return showCalendar('end_time', '%Y-%m-%d', false, false, 'selbtn2');" value="{$lang.btn_select}" class="button"/></td>

        </tr>

      </table>

      <table width="90%" border="0"  align="center" cellpadding="0" cellspacing="0" id="goods-table" style="display:none;" >

        <tr>

          <td colspan="4" class="label" style="text-align:left">{$lang.topic_class}

            <select name="topic_class_list" id="topic_class_list" onchange="showTargetList()">

            </select>

            <input name="new_cat_name" type="text" id="new_cat_name" />

            <input name="create_class_btn" type="button" id="create_class_btn" value="{$lang.add}" class="button" onclick="addClass()" />

            <input name="delete_class_btn" type="button" id="delete_class_btn" value="{$lang.remove}" class="button" onclick="deleteClass()" />          </td>

        </tr>

        <tr>

          <td colspan="3"><img src="images/icon_search.gif" width="26" height="22" border="0" alt="SEARCH" />

            <select name="cat_id2">

              <option value="0">{$lang.all_category}</option>

              {$cat_list}

            </select>

            <select name="brand_id2">

              <option value="0">{$lang.all_brand}</option>

              {html_options options=$brand_list}

            </select>

            <input type="text" name="keyword2"/>

            <input name="button" type="button" class="button" onclick="searchGoods('cat_id2', 'brand_id2', 'keyword2')" value="{$lang.button_search}" />          </td>

        </tr>

        <!-- 商品列表 -->

        <tr height="37">

          <th>{$lang.all_goods}</th>

          <th>{$lang.handler}</th>

          <th>{$lang.selected_goods}</th>

        </tr>

        <tr>

          <td width="42%"><select name="source_select" id="source_select" size="20" style="width:100%;height:300px;"  ondblclick="addItem(this)">

            </select>          </td>

          <td align="center"><p>

              <input name="button" type="button" class="button" onclick="addAllItem(document.getElementById('source_select'))" value="&gt;&gt;" />

            </p>

            <p>

              <input name="button" type="button" class="button" onclick="addItem(document.getElementById('source_select'))" value="&gt;" />

            </p>

            <p>

              <input name="button" type="button" class="button" onclick="removeItem(document.getElementById('target_select'))" value="&lt;" />

            </p>

            <p>

              <input name="button" type="button" class="button" value="&lt;&lt;" onclick="removeItem(document.getElementById('target_select'), true)" />

            </p></td>

          <td width="42%"><select name="target_select" id="target_select" size="20" style="width:100%;height:300px" multiple="multiple">

            </select>          </td>

        </tr>

      </table>

      <table width="90%" border="0"  align="center" cellpadding="0" cellspacing="0" id="desc-table" style="display:none;">

        <tr>

          <td>{$FCKeditor}</td>

        </tr>

      </table>

      <table width="90%" border="0"  align="center" cellpadding="0" cellspacing="0" id="advanced-table" style="display:none;">

          <tr>

          <td class="label"><a href="javascript:showNotice('noticeTemplateFile');" title="{$lang.form_notice}"><img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a>{$lang.template_file}</td>

          <td ><input name="topic_template_file" type="text" id="topic_template_file" value="{$topic.template}" size="40" />

          <span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeTemplateFile">{$lang.notice_template_file}</span></td>

        </tr>

        <tr>

          <td class="label"><a href="javascript:showNotice('noticeCss');" title="{$lang.form_notice}"><img src="images/notice.gif" width="21" height="21" border="0" alt="{$lang.form_notice}"></a>{$lang.style_sheet}</td>

          <td ><textarea name="topic_css" id="topic_css" cols="40" rows="5">{$topic.css}</textarea>

            <span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeCss">{$lang.notice_css}</span>

            <div> <a href="javascript:chanageSize(3,'topic_css');">[+]</a> <a href="javascript:chanageSize(-3,'topic_css');">[-]</a> </div></td>

        </tr>

      </table>

      <div class="button-div">

        <input  name="topic_data" type="hidden" id="topic_data" value='' />

        <input  name="act" type="hidden" id="act" value='{$act}' />

        <input  name="topic_id" type="hidden" id="topic_id" value='{$topic.topic_id}' />

        <input type="submit"  name="Submit"       value="{$lang.button_submit}" class="button" onclick="return checkForm()"/>

        <input type="reset"   name="Reset"        value="{$lang.button_reset}" class="button"/>

      </div>

    </form>

  </div>

</div>
{insert_scripts files="./js/validator.js,./js/tab.js"}

<script type="Text/Javascript" language="JavaScript">

<!--

var data = '{$topic.data}';

var defaultClass = "{$lang.default_class}";

{literal}

var myTopic = Object();

var status_code = "{$topic.topic_type}"; // 初始页面参数



onload = function()

{

  

  // 开始检查订单

  startCheckOrder();

  var classList = document.getElementById("topic_class_list");



  // 初始化表单项

  initialize_form(status_code);



  if (data == "")

  {

    

    classList.innerHTML = "";

    myTopic['default'] = new Array();

    var newOpt    = document.createElement("OPTION");

    newOpt.value  = -1;

    newOpt.text   = defaultClass;

    classList.options.add(newOpt);

    return;

  }
  var temp    = $.evalJSON(data);



  var counter = 0;

  for (var k in temp)

  {

    if(typeof(myTopic[k]) != "function")

    {

      myTopic[k] = temp[k];

      var newOpt    = document.createElement("OPTION");

      newOpt.value  = k == "default" ? -1 : counter;

      newOpt.text   = k == "default" ? defaultClass : k;

      classList.options.add(newOpt);

      counter++;

    }

  }

  showTargetList();

}



/**

 * 初始化表单项目

 */

function initialize_form(status_code)

{

  var nt = navigator_type();

  var display_yes = (nt == 'IE') ? 'block' : 'table-row-group';

  status_code = parseInt(status_code);

  status_code = status_code ? status_code : 0;

  document.getElementById('topic_type').options[status_code].selected = true;



  switch (status_code)

  {

    case 0 :

      document.getElementById('content_01').style.display = display_yes;

      document.getElementById('content_23').style.display = 'none';

			document.getElementById('title_upload').innerHTML = '{$width_height}';

			document.getElementById('edit_img').style.display = display_yes;

    break;

		

    case 1 :

      document.getElementById('content_01').style.display = display_yes;

      document.getElementById('content_23').style.display = 'none';

			document.getElementById('title_upload').innerHTML = '{$lang.tips_upload_notice}';

			document.getElementById('edit_img').style.display = display_yes;

    break;

		

    case 2 :

      document.getElementById('content_01').style.display = 'none';

      document.getElementById('content_23').style.display = display_yes;

			document.getElementById('edit_img').style.display = 'none';

    break;

  }



	{if $isadd eq 'isadd'}

	document.getElementById('edit_img').style.display = 'none';

	document.getElementById('edit_title_img').style.display = 'none';

	{/if}



  return true;

}



/**

 * 类型表单项切换

 */

function showMedia(code)

{

  var obj = document.getElementById('topic_type');



  initialize_form(code);

}



function checkForm()

{

  var validator = new Validator('theForm');

  validator.required('topic_name', topic_name_empty);

  validator.required('start_time', start_time_empty);

  validator.required('end_time', end_time_empty);

  validator.islt('start_time', 'end_time', start_lt_end);

  document.getElementById("topic_data").value = $.toJSON(myTopic);



  return validator.passed();

}



function chanageSize(num, id)

{

  var obj = document.getElementById(id);

  if (obj.tagName == "TEXTAREA")

  {

    var tmp = parseInt(obj.rows);

    tmp += num;

    if (tmp <= 0) return;

    obj.rows = tmp;

  }

}



function searchGoods(catId, brandId, keyword)

{

  var elements = document.forms['theForm'].elements;

  var filters = new Object;

  filters.cat_id = elements[catId].value;

  filters.brand_id = elements[brandId].value;

  filters.keyword = Utils.trim(elements[keyword].value);

  Ajax.call("topic.php?act=get_goods_list", filters, function(result)

  {

    clearOptions("source_select");

    var obj = document.getElementById("source_select");

    for (var i=0; i < result.content.length; i++)

    {

      var opt   = document.createElement("OPTION");

      opt.value = result.content[i].value;

      opt.text  = result.content[i].text;

      opt.id    = result.content[i].data;

      obj.options.add(opt);

    }

  }, "GET", "JSON");

}



function clearOptions(id)

{

  var obj = document.getElementById(id);

  while(obj.options.length>0)

  {

    obj.remove(0);

  }

}



function addAllItem(sender)

{

  if(sender.options.length == 0) return false;

  for (var i = 0; i < sender.options.length; i++)

  {

    var opt = sender.options[i];

    addItem(null, opt.value, opt.text);

  }

}



function addItem(sender, value, text)

{

  var target_select = document.getElementById("target_select");

  var sortList = document.getElementById("topic_class_list");

  var newOpt   = document.createElement("OPTION");

  if (sender != null)

  {

    if(sender.options.length == 0) return false;

    var option = sender.options[sender.selectedIndex];

    newOpt.value = option.value;

    newOpt.text  = option.text;

  }

  else

  {

    newOpt.value = value;

    newOpt.text  = text;

  }

  if (targetItemExist(newOpt)) return false;

  if (target_select.length>=50)

  {

    alert(item_upper_limit);

  }

  target_select.options.add(newOpt);

  var key = sortList.options[sortList.selectedIndex].value == "-1" ? "default" : sortList.options[sortList.selectedIndex].text;

  

  if(!myTopic[key])

  {

    myTopic[key] = new Array();

  }

  myTopic[key].push(newOpt.text + "|" + newOpt.value);

}



// 商品是否存在

function targetItemExist(opt)

{

  var options = document.getElementById("target_select").options;

  for ( var i = 0; i < options.length; i++)

  {

    if(options[i].text == opt.text && options[i].value == opt.value) 

    {

      return true;

    }

  }

  return false;

}



function addClass()

{

  var obj = document.getElementById("topic_class_list");

  var newClassName = document.getElementById("new_cat_name");

  var regExp = /^[a-zA-Z0-9]+$/;

  if (newClassName.value == ""){

    alert(sort_name_empty);

    return;

  }

  for(var i=0;i < obj.options.length; i++)

  {

    if(obj.options[i].text == newClassName.value)

    {

      alert(sort_name_exist);

      newClassName.focus(); 

      return;

    }

  }

  var className = document.getElementById("new_cat_name").value;

  document.getElementById("new_cat_name").value = "";

  var newOpt    = document.createElement("OPTION");

  newOpt.value  = obj.options.length;

  newOpt.text   = className;

  obj.options.add(newOpt);

  newOpt.selected = true;

  if ( obj.options[0].value == "-1")

  {

    if (myTopic["default"].length > 0)

      alert(move_item_confirm.replace("className",className));

    myTopic[className] = myTopic["default"];

    delete myTopic["default"];

    obj.remove(0);

  }

  else

  {

    myTopic[className] = new Array();

    clearOptions("target_select");

  }

}



function deleteClass()

{

  var classList = document.getElementById("topic_class_list");

  if (classList.value != "-1")

  {

    delete myTopic[classList.options[classList.selectedIndex].text];

    classList.remove(classList.selectedIndex);

    clearOptions("target_select");

  }

  if (classList.options.length < 1)

  {

    var newOpt    = document.createElement("OPTION");

    newOpt.value  = "-1";

    newOpt.text   = defaultClass;

    classList.options.add(newOpt);

    myTopic["default"] = new Array();

  }

}



function showTargetList()

{

  clearOptions("target_select");

  var obj = document.getElementById("topic_class_list");

  var index = obj.options[obj.selectedIndex].text;

  if (index == defaultClass)

  {

    index = "default";

  }

  var options = myTopic[index];

  

  for ( var i = 0; i < options.length; i++)

  {

    var newOpt    = document.createElement("OPTION");

    var arr = options[i].split('|');

    newOpt.value  = arr[1];

    newOpt.text   = arr[0];

    document.getElementById("target_select").options.add(newOpt);

  }

}



function removeItem(sender,isAll)

{

  var classList = document.getElementById("topic_class_list");

  var key = 'default';

  if (classList.value != "-1")

  {

    key = classList.options[classList.selectedIndex].text;

  }

  var arr = myTopic[key];

  if (!isAll)

  {

    var goodsName = sender.options[sender.selectedIndex].text;

    for (var j = 0; j < arr.length; j++)

    {

      if (arr[j].indexOf(goodsName) >= 0)

      {

          myTopic[key].splice(j,1);

      }

    }



    for (var i = 0; i < sender.options.length;)

    {

      if (sender.options[i].selected) {

        sender.remove(i);

        myTopic[key].splice(i, 0);

      }

      else

      {

        i++;

      }

    }

  }

  else

  {

    myTopic[key] = new Array();

    sender.innerHTML = "";

  }

}



/**

 * 判断当前浏览器类型

 */

function navigator_type()

{

  var type_name = '';



  if (navigator.userAgent.indexOf('MSIE') != -1)

  {

    type_name = 'IE'; // IE

  }

  else if(navigator.userAgent.indexOf('Firefox') != -1)

  {

    type_name = 'FF'; // FF

  }

  else if(navigator.userAgent.indexOf('Opera') != -1)

  {

    type_name = 'Opera'; // Opera

  }

  else if(navigator.userAgent.indexOf('Safari') != -1)

  {

    type_name = 'Safari'; // Safari

  }

  else if(navigator.userAgent.indexOf('Chrome') != -1)

  {

    type_name = 'Chrome'; // Chrome

  }



  return type_name;

}

{/literal}

//-->

</script>

{include file="pagefooter.htm"}

